package com.nuc.bigdata.app.service;

import com.nuc.bigdata.domain.vo.CommentsVO;
import com.nuc.bigdata.domain.vo.PhotoNewsVO;
import com.nuc.bigdata.feign.dto.NewsCommentsDto;
import com.nuc.bigdata.feign.entity.PhotoShareMenuFeign;

import java.util.ArrayList;

/**
 * 图片资讯Service
 * @author JackLuo
 * @date 2019/11/26
 */
public interface PhotoService {

    /**
     * 查询所有图片资讯菜单项
     * @return 包含菜单项feign的ArrayList
     */
    ArrayList<PhotoShareMenuFeign> listAllMenu();

    /**
     * 根据指定菜单id查询所有的图片资讯VO
     * @param menuId 菜单id
     * @return 包含图片资讯VO的ArrayList
     */
    ArrayList<PhotoNewsVO> listByMenuId(String menuId);

    /**
     * 查询所有的图片资讯VO
     * @return 包含图片资讯VO的ArrayList
     */
    ArrayList<PhotoNewsVO> listNews();

    /**
     * 通过图片资讯id查询指定的图片资讯VO
     * @param pnId 图片资讯唯一标识
     * @return 图片资讯VO
     */
    PhotoNewsVO queryByPnId(String pnId);


    /**
     * 查询指定图片资讯对应的评论
     * @param pnId 图片资讯唯一标识
     * @param pageSize 页码
     * @return 包含评论VO的ArrayList
     */
    ArrayList<CommentsVO> listCommentsByPnId(String pnId,Long pageSize);

    /**
     * 创建评论
     * @param pnId 图片资讯唯一标识
     * @param commentsDto 评论内容Dto，包含userId和content
     */
    void createComment(String pnId, NewsCommentsDto commentsDto);


    /**
     * 用户点赞评论
     * @param userId 用户唯一标识
     * @param photoCommentId 图片资讯评论文艺标识
     */
    void toCommentsLike(String userId,String photoCommentId);
}
